總算快到鐵人賽尾聲了 , 今天來介紹 Underscore 的 chain 語法 ,
其能夠更為精簡語法的使用 , 簡單的範例如下 :
下面的範例執行了 :
使用 sortBy 對 stooges 做 age 的排序
使用 map 回傳只有 name + age 的組合
使用 first 得到該陣列第一個值
使用 value 取得最終的值
var stooges = [{name: 'curly', age: 25}, {name: 'moe', age: 21}, {name: 'larry', age: 23}];
var youngest = _.chain(stooges)
.sortBy(function(stooge){ return stooge.age; })
.map(function(stooge){ return stooge.name + ' is ' + stooge.age; })
.first()
.value();
=> "moe is 21"
接下來說說使用 chain 的語法能有啥好處了 :
1. 可以更為精確的表達程式的語意
2. 不用建立多餘的變數
若沒使用 chain 的語法 , 你可能會使用下列的方式 ,
var sortedGroup = sortBy....
var mapedGroup = map...
var theFirstOfGroup = first....
若使用 chain 語法 , 你可以不用建立這些變數名稱 , 而這些變數名稱
也許可以使用在其他更有意義的地方
3. 不用浪費記憶體儲存多餘的資料